Optional write write ?: { acceptFeeTo : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; exercise : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; newOptionType : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; redeem : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; safeBatchTransferFrom : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; safeTransferFrom : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; setApprovalForAll : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; setFeeTo : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; setFeesEnabled : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; setTokenURIGenerator : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; sweepFees : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; write : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) ; }
Type declaration accept Fee To : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "acceptFeeTo" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ options?: Options ] Returns Promise < ` 0x ${ string } ` > exercise : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "exercise" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ bigint , bigint ] , options?: Options ] Returns Promise < ` 0x ${ string } ` > new Option Type : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "newOptionType" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ ` 0x ${ string } ` , bigint , ` 0x ${ string } ` , bigint , number , number ] , options?: Options ] Returns Promise < ` 0x ${ string } ` > redeem : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "redeem" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ bigint ] , options?: Options ] Returns Promise < ` 0x ${ string } ` > safe Batch Transfer From : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "safeBatchTransferFrom" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ ` 0x ${ string } ` , ` 0x ${ string } ` , readonly bigint [] , readonly bigint [] , ` 0x ${ string } ` ] , options?: Options ] Returns Promise < ` 0x ${ string } ` > safe Transfer From : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "safeTransferFrom" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ ` 0x ${ string } ` , ` 0x ${ string } ` , bigint , bigint , ` 0x ${ string } ` ] , options?: Options ] Returns Promise < ` 0x ${ string } ` > set Approval For All : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "setApprovalForAll" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ ` 0x ${ string } ` , boolean ] , options?: Options ] Returns Promise < ` 0x ${ string } ` > set Fee To : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "setFeeTo" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ ` 0x ${ string } ` ] , options?: Options ] Returns Promise < ` 0x ${ string } ` > set Fees Enabled : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "setFeesEnabled" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ boolean ] , options?: Options ] Returns Promise < ` 0x ${ string } ` > set TokenURIGenerator : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "setTokenURIGenerator" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ ` 0x ${ string } ` ] , options?: Options ] Returns Promise < ` 0x ${ string } ` > sweep Fees : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "sweepFees" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ readonly ` 0x ${ string } ` [] ] , options?: Options ] Returns Promise < ` 0x ${ string } ` > write : ( < TChainOverride , Options > ( ... parameters ) => Promise < ` 0x ${ string } ` > ) < TChainOverride , Options > ( ... parameters ) : Promise < ` 0x ${ string } ` > Type Parameters TChainOverride extends undefined | Chain Options extends { [ K in string | number | symbol ] : UnionOmit < WriteContractParameters < readonly [ { inputs : readonly [ { internalType : "address" ; name : "_feeTo" ; type : "address" ; } , { internalType : "address" ; name : "_tokenURIGenerator" ; type : "address" ; } ] ; stateMutability : "nonpayable" ; type : "constructor" ; } , { inputs : readonly [ { internalType : "address" ; name : "accessor" ; type : "address" ; } , { internalType : "address" ; name : "permissioned" ; type : "address" ; } ] ; name : "AccessControlViolation" ; type : "error" ; } , { inputs : readonly [ ] ; name : "AmountWrittenCannotBeZero" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "CallerDoesNotOwnClaimId" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "CallerHoldsInsufficientOptions" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ClaimTooSoon" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseTooEarly" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "exercise" ; type : "uint40" ; } ] ; name : "ExerciseWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiredOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint40" ; name : "expiry" ; type : "uint40" ; } ] ; name : "ExpiryWindowTooShort" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "input" ; type : "address" ; } ] ; name : "InvalidAddress" ; type : "error" ; } , { inputs : readonly [ { internalType : "address" ; name : "asset1" ; type : "address" ; } , { internalType : "address" ; name : "asset2" ; type : "address" ; } ] ; name : "InvalidAssets" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidClaim" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "InvalidOption" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; name : "OptionsTypeExists" ; type : "error" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "token" ; type : "uint256" ; } ] ; name : "TokenNotFound" ; type : "error" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "owner" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "ApprovalForAll" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amountAssigned" ; type : "uint112" ; } ] ; name : "BucketAssignedExercise" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint96" ; name : "bucketIndex" ; type : "uint96" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "BucketWrittenInto" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "redeemer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "exerciseAmountRedeemed" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "underlyingAmountRedeemed" ; type : "uint256" ; } ] ; name : "ClaimRedeemed" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "payer" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeAccrued" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "asset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "FeeSwept" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "address" ; name : "feeTo" ; type : "address" ; } , { indexed : false ; internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "FeeSwitchUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "FeeToUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { indexed : false ; internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { indexed : false ; internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { indexed : true ; internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "NewOptionType" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "exerciser" ; type : "address" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsExercised" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { indexed : true ; internalType : "address" ; name : "writer" ; type : "address" ; } , { indexed : true ; internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } , { indexed : false ; internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "OptionsWritten" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "TokenURIGeneratorUpdated" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { indexed : false ; internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } ] ; name : "TransferBatch" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : true ; internalType : "address" ; name : "operator" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "from" ; type : "address" ; } , { indexed : true ; internalType : "address" ; name : "to" ; type : "address" ; } , { indexed : false ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { indexed : false ; internalType : "uint256" ; name : "amount" ; type : "uint256" ; } ] ; name : "TransferSingle" ; type : "event" ; } , { anonymous : false ; inputs : readonly [ { indexed : false ; internalType : "string" ; name : "value" ; type : "string" ; } , { indexed : true ; internalType : "uint256" ; name : "id" ; type : "uint256" ; } ] ; name : "URI" ; type : "event" ; } , { inputs : readonly [ ] ; name : "acceptFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; name : "balanceOf" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "owners" ; type : "address[]" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } ] ; name : "balanceOfBatch" ; outputs : readonly [ { internalType : "uint256[]" ; name : "balances" ; type : "uint256[]" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "claim" ; outputs : readonly [ { components : readonly [ { internalType : "uint256" ; name : "amountWritten" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amountExercised" ; type : "uint256" ; } , { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Claim" ; name : "claimInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "exercise" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "feeBalance" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeBps" ; outputs : readonly [ { internalType : "uint8" ; name : "" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feeTo" ; outputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "feesEnabled" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "" ; type : "address" ; } , { internalType : "address" ; name : "" ; type : "address" ; } ] ; name : "isApprovedForAll" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } ] ; name : "newOptionType" ; outputs : readonly [ { internalType : "uint256" ; name : "optionId" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "option" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "underlyingAmount" ; type : "uint96" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "uint96" ; name : "exerciseAmount" ; type : "uint96" ; } , { internalType : "uint40" ; name : "exerciseTimestamp" ; type : "uint40" ; } , { internalType : "uint40" ; name : "expiryTimestamp" ; type : "uint40" ; } , { internalType : "uint160" ; name : "settlementSeed" ; type : "uint160" ; } , { internalType : "uint96" ; name : "nextClaimKey" ; type : "uint96" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Option" ; name : "optionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "position" ; outputs : readonly [ { components : readonly [ { internalType : "address" ; name : "underlyingAsset" ; type : "address" ; } , { internalType : "int256" ; name : "underlyingAmount" ; type : "int256" ; } , { internalType : "address" ; name : "exerciseAsset" ; type : "address" ; } , { internalType : "int256" ; name : "exerciseAmount" ; type : "int256" ; } ] ; internalType : "struct IValoremOptionsClearinghouse.Position" ; name : "positionInfo" ; type : "tuple" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "claimId" ; type : "uint256" ; } ] ; name : "redeem" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256[]" ; name : "ids" ; type : "uint256[]" ; } , { internalType : "uint256[]" ; name : "amounts" ; type : "uint256[]" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeBatchTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "from" ; type : "address" ; } , { internalType : "address" ; name : "to" ; type : "address" ; } , { internalType : "uint256" ; name : "id" ; type : "uint256" ; } , { internalType : "uint256" ; name : "amount" ; type : "uint256" ; } , { internalType : "bytes" ; name : "data" ; type : "bytes" ; } ] ; name : "safeTransferFrom" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "operator" ; type : "address" ; } , { internalType : "bool" ; name : "approved" ; type : "bool" ; } ] ; name : "setApprovalForAll" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newFeeTo" ; type : "address" ; } ] ; name : "setFeeTo" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bool" ; name : "enabled" ; type : "bool" ; } ] ; name : "setFeesEnabled" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "address" ; name : "newTokenURIGenerator" ; type : "address" ; } ] ; name : "setTokenURIGenerator" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "bytes4" ; name : "interfaceId" ; type : "bytes4" ; } ] ; name : "supportsInterface" ; outputs : readonly [ { internalType : "bool" ; name : "" ; type : "bool" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "address[]" ; name : "tokens" ; type : "address[]" ; } ] ; name : "sweepFees" ; outputs : readonly [ ] ; stateMutability : "nonpayable" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "tokenType" ; outputs : readonly [ { internalType : "enum IValoremOptionsClearinghouse.TokenType" ; name : "typeOfToken" ; type : "uint8" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ ] ; name : "tokenURIGenerator" ; outputs : readonly [ { internalType : "contract ITokenURIGenerator" ; name : "" ; type : "address" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } ] ; name : "uri" ; outputs : readonly [ { internalType : "string" ; name : "" ; type : "string" ; } ] ; stateMutability : "view" ; type : "function" ; } , { inputs : readonly [ { internalType : "uint256" ; name : "tokenId" ; type : "uint256" ; } , { internalType : "uint112" ; name : "amount" ; type : "uint112" ; } ] ; name : "write" ; outputs : readonly [ { internalType : "uint256" ; name : "" ; type : "uint256" ; } ] ; stateMutability : "nonpayable" ; type : "function" ; } ] , "write" , Chain , Account , TChainOverride > , "address" | "abi" | "args" | "functionName" > [ K ] } Parameters Rest ... parameters : [ args: readonly [ bigint , bigint ] , options?: Options ] Returns Promise < ` 0x ${ string } ` >
Specialized contract that extends the generic Contract class to interact specifically with the Valorem Clearinghouse. It encapsulates the functionality to write and settle option contracts on-chain.
The ClearinghouseContract enables users to write options, execute them, and redeem claim tokens post-expiration, handling ERC-20 asset pairs.